package stud.mpgame.network;

import stud.mpgame.network.MessageDescription;
import stud.mpgame.network.NetworkMonitor;

/**
 * ...
 * @author Timofeev, pavel[f.pavel91@gmail.com]
 */

interface IMessageDispatcher {
	
	//null == подписка на все сообщения
    
    function addMessageReceivedListener(messageDescription:MessageDescription, listener:Message -> Void):Void;
    
    function addMessageSentListener(messageDescription:MessageDescription, listener:Message -> Void):Void;
    
    function removeMessageReceivedListener(messageDescription:MessageDescription, listener:Message -> Void):Void;
    
    function removeMessageSentListener(messageDescription:MessageDescription, listener:Message -> Void):Void;
    
}